Through the use of web applications, such as AJAX web applications, clients can receive large amounts of data from a server. Once the data has been received, the data may be manipulated or searched via the web application on the client without further interaction with the server. However, performance degrades as larger number of complex data objects are manipulated or searched on the client. Furthermore, generating an index for the data by the client or receiving an index for the data from a server may increase the application startup-time and lead to an unacceptable user experience.